Skip to content

Каур Александр. Технология SEQ-MPI. Минимальное значение элементов матрицы. Вариант 14#115

Open
kaur41 wants to merge 2 commits intolearning-process:masterfrom
kaur41:kaur_a_min_matrix
Open

Каур Александр. Технология SEQ-MPI. Минимальное значение элементов матрицы. Вариант 14#115
kaur41 wants to merge 2 commits intolearning-process:masterfrom
kaur41:kaur_a_min_matrix

Conversation

@kaur41
Copy link

@kaur41 kaur41 commented Feb 28, 2026

Задание

Задача: Минимальное значение элементов матрицы
Вариант: 14
Технология: MPI (с поддержкой SEQ для последовательной версии)

Описание

В рамках работы реализованы последовательная и параллельная версии алгоритма поиска минимального элемента в матрице целых чисел.

Последовательная версия (SEQ) выполняет линейный проход по всем элементам матрицы, сохраняя текущий минимум, и служит эталоном для проверки корректности.

Параллельная версия (MPI) распределяет исходную матрицу между процессами, каждый процесс находит локальный минимум в своей части, после чего с помощью операции MPI_Allreduce определяется глобальный минимум, который становится доступным на всех процессах.

Ключевые особенности

  • Реализованы SEQ и MPI версии алгоритма
  • Корректная работа с матрицами различных размеров (включая прямоугольные)
  • Использование MPI_Scatterv для неравномерного распределения данных
  • Использование MPI_Allreduce для эффективного нахождения глобального минимума
  • Полное покрытие функциональными тестами (различные размеры матриц, отрицательные числа, единичный элемент)
  • Тесты производительности для 1, 2, 4 и 6 процессов

Тестирование и производительность

Добавлены функциональные тесты для проверки корректности поиска минимума на различных входных данных, а также тесты производительности для оценки времени работы MPI-версии.


  • Статус CI: Все CI-задачи (сборка, тесты, генерация отчёта) успешно проходят на моей ветке в моем форке
  • Директория и именование задачи: Я создал директорию с именем <фамилия><первая_буква_имени><короткое_название_задачи>
  • Полное описание задачи: Я предоставил полное описание задачи в теле pull request
  • clang-format: Мои изменения успешно проходят clang-format локально в моем форке (нет ошибок форматирования)
  • clang-tidy: Мои изменения успешно проходят clang-tidy локально в моем форке (нет предупреждений/ошибок)
  • Функциональные тесты: Все функциональные тесты успешно проходят локально на моей машине
  • Тесты производительности: Все тесты производительности успешно проходят локально на моей машине
  • Ветка: Я работаю в ветке, названной точно так же, как директория моей задачи (например, nesterov_a_vector_sum), а не в master
  • Правдивое содержание: Я подтверждаю, что все сведения, указанные в этом pull request, являются точными и достоверными

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants